package com.jgdt.jgdtkasannong_university_gene_backend.service.content;


import com.jgdt.jgdtkasannong_university_gene_backend.entity.content.DataTemplate;
import com.jgdt.jgdtkasannong_university_gene_backend.entity.content.SysMenu;
import com.jgdt.jgdtkasannong_university_gene_backend.entity.content.SysMenuBizType;
import com.jgdt.jgdtkasannong_university_gene_backend.vo.content.menu_content.ChildrenShowVo;

import java.util.List;

/**
 * <p>
 * 系统菜单表 服务类
 * </p>
 *
 * @author chenzg
 * @since 2025-04-24
 */
public interface SysMenuService {

    /**
     * 获取完整树结构
     * @return
     */
    List<SysMenu> getFullTree();


    /**
     * 获取完整树结构
     * @param parentId 当前节点
     * @return 当前节点以下节点数据
     */
   List<SysMenu> getChildrenByParentId(Integer parentId);

    /**
     * 获取完整vo树结构
     * @param parentId 当前节点
     * @return 当前节点以下节点数据
     */
    List<ChildrenShowVo> getChildrenBaseVoByParentId(Integer parentId);

    /**
     * 根据条件查询数据列表
      * @return
     */
   List<SysMenu> querySysMenuList(SysMenu sysMenu);


    /**
     * 根据菜单id查询模板信息
     * @param menuId
     * @return
     */
    DataTemplate queryDataTemplateByMenuId(Integer menuId);

    /**
     * 根据菜单id查询类型对象
     * @param menuId
     * @return
     */
    SysMenuBizType getBizTypeByMenuId(Integer menuId);


}
